﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Video.Application.Contract.Base;
using Video.Application.Contract.Videos.Dtos;

namespace Video.Application.Contract.Videos
{
    public interface IVideoService
    {
        Task CreateAsync(CreateVideoInput createVideoInput);
        Task DeleteAsync(Guid id);
        Task<PageResultDto<GetVideoListDto>> GetListAsync(GetVideoInput videoInput);
        /// <summary>
        /// 创建视频分类
        /// </summary>
        /// <param name="name"></param>
        /// <returns></returns>
        Task CreateClassifyAsync(string name);
        /// <summary>
        /// 删除视频分类
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        Task DeleteClassifyAsyn(Guid id);
        /// <summary>
        /// 修改视频分类
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        Task UpdateClassifyAsync(ClassifyDto dto);
        /// <summary>
        /// 获取分类列表
        /// </summary>
        /// <param name="name"></param>
        /// <returns></returns>
        Task<List<ClassifyDto>> GetClassifyListAsync(string? name);
        Task<bool> IsDeleteAsync(string path);
    }
}
